package com.tz.dao;

import com.tz.entity.Faq;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * 问答类数据库交互实现类
 * Created by Administrator on 2016/8/5.
 */
@Repository//加入spring容器
@Transactional//使类中的方法会加入到事务管理
public class FaqDaoImpl implements FaqDao {

    //依赖注入
    @Autowired
    private SessionFactory sessionFactory;

    /**
     * 获取Session
     */
    private Session getSession(){
        return sessionFactory.openSession();
    }

    /**
     * 保存一个问答对象
     */
    @Override
    public void save(Faq faq) {
        getSession().save(faq);
    }

    /**
     * 查询所有问答对象
     */
    @Override
    public List<Faq> findAll() {
        return getSession().createQuery("from Faq").list();
    }
}
